package com.yupi.springbootinit.mq;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.yupi.springbootinit.utils.RabbitMqUtils;

import java.nio.charset.StandardCharsets;

public class SingleProducer {

    private final static String QUEUE_NAME = "hello";

    public static void main(String[] argv) throws Exception {
        // 建立连接、创建频道
        try (Channel channel = RabbitMqUtils.getChannel()) {
            /**
             * 创建消息队列
             * @Queue -队列的名称
             * @Durable —如果我们声明一个持久队列(队列在服务器重启后仍然有效)，则为true。
             * @Exclusive -如果声明的是独占队列(仅限于此连接)，则为true
             * @autoDelete -当我们声明一个自动删除队列时为true(服务器将在不再使用时删除它)
             * 参数——队列的其他属性(构造参数)
             */
            channel.queueDeclare(QUEUE_NAME, false, false, false, null);
            // 发送消息
            String message = "Hello World!";
            channel.basicPublish("", QUEUE_NAME, null, message.getBytes(StandardCharsets.UTF_8));
            System.out.println(" [x] Sent '" + message + "'");
        }
    }
}